package com.yunxin.core.application.service;

import com.yunxin.common.result.Result;
import com.yunxin.core.application.admin.team.DistributeResultDto;
import com.yunxin.core.application.command.order.OperateAllocationOrderAccountCommand;
import com.yunxin.core.application.command.order.OperateAllocationOrderRest;
import com.yunxin.core.application.command.order.OperateAllocationOrderStatusCommand;

import java.util.List;

/**
 * @author zero°
 * @since 2023-07-12
 */
public interface OrderApplicationAdminService {

    /**
     * 操作分配订单账户(重新分配/解除分配)
     * @param request request
     * @return boolean
     */
    boolean operateAllocationOrderAccount(OperateAllocationOrderAccountCommand request);

    /**
     * 操作分配订单状态
     * @param request request
     * @return boolean
     */
    boolean operateAllocationOrderStatus(OperateAllocationOrderStatusCommand request);

    /**
     * 查询订单已分配团队
     * @param command
     * @return
     */
    DistributeResultDto allocatedTeamList(OperateAllocationOrderAccountCommand command);

    /**
     * 重新分配
     * @param command
     * @return
     */
    Result<DistributeResultDto> operateAllocationOrderRest(OperateAllocationOrderRest command);
}
